import java.util.ArrayList;

interface ISignUp{
 // 打印输出结果
 public void print();
 // 检查是否有 stuType对应的班级名额
 // 如果没有剩余名额，请返回 false ，否则学生将报名进入该班级并返回 true
 public boolean addStudent (int stuType[]);
 // 解析命令行输入的参数（格式），如文档描述
}
interface IParams {
 // 获取大班名额
 public int getBig();
 // 获取中班名额
 public int getMedium();
 // 获取小班名额
 public int getSmall();
 // 获取入学序列，例如 [1 2 2 3] 表示依次报名入学一名大班、中班、中班、小班学生
 public ArrayList<Integer> getPlanSignUp ();

}

class SchoolSystem implements ISignUp ,IParams{
 int big;
 int medium;
 int small;
 int stuType[];
 public int getBig() {
  return big;
 }

 public int getMedium() {
  return medium;
 }

 public int getSmall() {
  return small;
 }

 public ArrayList<Integer> getPlanSignUp() {
  ArrayList<Integer> sites = new ArrayList<>();
  sites.add(1);
  sites.add(1);
  sites.add(1);
  sites.add(2);
  sites.add(2);
  sites.add(3);
  return sites;
 }
 SchoolSystem(int big, int medium, int small){
  this.big=big;
  this.medium=medium;
  this.small=small;
 }
 public void print(){
  System.out.println("true" );
 }


 public boolean addStudent(int stuType[]) {
  int i=0;
  for ( i=0;i<stuType.length;i++)
   if(stuType[i]==1){
    if(big-1>=0){
     big=big-1;
     return true;
    }else
     return false;
   }
  if(stuType[i]==2){
   if(medium-1>=0){
    medium=medium-1;
    return true;
   }else
    return false;
  }
  if(stuType[i]==3){
   if(small-1>=0){
    small=small-1;
    return true;
   }else
    return false;
  }
  return false;
 }


 public static IParams parse() {
  return new SchoolSystem(1,4,7);
 }

 public static void main(String[] args) throws Exception {
  IParams params = SchoolSystem.parse();
  SchoolSystem sc = new SchoolSystem (params.getBig(), params.getMedium(),params.getSmall());
  ArrayList<Integer> plan = params. getPlanSignUp ();
  for (int j = 0; j < plan.size(); j++) {
   //sc. addStudent (plan.get(j));
  }
  sc.print();
 }


}


